/*    
 * Copyright (c) 2013 ISoftStone, Inc.
 * All right reserved.
 *
 * 文件名：      IChargeOffService.java
 * 作者:     Jacky Wang
 * 创建日期： 2013-7-30 下午12:31:55
 * 版本：           
 *
 */
package com.isoftstone.industry.aaa.core.service.accounting;

import com.isoftstone.industry.persistance.bean.Account;
import com.isoftstone.industry.persistance.bean.AccountItem;
import com.isoftstone.industry.persistance.bean.Bill;
import com.isoftstone.industry.persistance.bean.BillItem;
import com.isoftstone.industry.aaa.exception.AAAException;

/**
 * 销帐接口
 * 
 * @author jacky
 */
public interface IChargeOffService
{
	/**
	 * 给账单进行销帐
	 * 
	 * @param
	 * @return
	 * @throws
	 */
	void chargeOff(Bill bill) throws AAAException;
	
	/**
	 * 该接口供账户充值后，调用去对欠费的帐目进行销帐
	 * @param       
	 * @return     
	 * @throws
	 */
	void chargeOff4Recharge(String userId);
	
	/**
	 * 为帐目进行销帐
	 * @param       
	 * @return     
	 * @throws
	 */
	AccountItem chargeOff4AcctItem(String acctItemId);
	
	void chargeOff4BillItem(BillItem billItem, Account account, Bill bill);
	
	AccountItem chargeOff4AcctItem(AccountItem acctItem, Account account);
	
}
